﻿using FluentScheduler;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using YiYiTong.Rocket.Helper;

namespace YiYiTong.Rocket.ProcessConsole
{
    public class ProcessConsoleReg : Registry
    {
        public ProcessConsoleReg()
        {
            LogHelper.Debug("定时任务开始执行----");
            //平台费用结算
            Schedule<OrderSettlementJob>().ToRunNow().AndEvery(6).Seconds();

            //按日期结算销售费用
            Schedule<SaleSettlementJob>().ToRunEvery(1).Days().At(2, 0);
            //会员等级调整
            Schedule<MemberJob>().ToRunEvery(1).Days().At(0, 10);
            Schedule<MemberJob>().ToRunNow();
            //订单支付超时处理
            Schedule<OrderOverTimeJob>().ToRunNow().AndEvery(5).Seconds();

            //过期商品，库存卖完商品自动下架
            Schedule<GoodsJob>().ToRunNow().AndEvery(5).Seconds();

            //业务消息每4秒发送一次
            Schedule<BusinessMsgJob>().ToRunNow().AndEvery(4).Seconds();

            //消息推送每10秒推送一次
            Schedule<PushJob>().ToRunNow().AndEvery(5).Seconds();

            //每十秒处理一下竞价
            Schedule<JingjiaJob>().ToRunNow().AndEvery(10).Seconds();
            //每十一秒处理一下活动
            Schedule<HuodongJob>().ToRunNow().AndEvery(11).Seconds();

            //每天凌晨生成供应商结算订单
            Schedule<JiesuanJob>().ToRunEvery(1).Days().At(2, 0);

            //每天早上8点检查自动下架的物料
            Schedule<WithUpDownJob>().ToRunEvery(1).Days().At(8, 0);

            LogHelper.Debug("----定时任务执行完毕！");
        }
    }
}
